/**
 * dart 中的 List
 */
void main() {
  // 定义一个List集合
  var fruits = ["apple", "orange"];

  // 给集合添加元素
  fruits.add("kiwis");
  print(fruits);

  // 添加另一个集合
  fruits.addAll(["grape", "banana"]);
  print(fruits);

  // 获取集合的长度
  print(fruits.length);

  // 获取集合中的元素
  print(fruits[0]);
  print(fruits[fruits.length - 1]);

  // 查找集合中元素的索引位置
  // 索引从0开始
  var appleIndex = fruits.indexOf("apple");
  print("appleIndex: ${appleIndex}");

  // 根据索引位置删除集合中的元素
  fruits.removeAt(appleIndex);
  print(fruits);

  // 根据元素删除集合中的元素
  fruits.remove("banana");
  print(fruits);

  // 判断集合中的元素是否为空
  print(fruits.isNotEmpty); // true

  // 清空集合中的元素
  fruits.clear();
  print(fruits); // []
  print(fruits.isEmpty); // true

  // 集合排序
  var fruits2 = ["apple", "orange", "kiwis", "grape", "banana"];
  // 升序
  fruits2.sort(((a, b) => a.compareTo(b)));
  print(fruits2);

  // 降序
  fruits2.sort(((a, b) => a.compareTo(b) * -1));
  print(fruits2);

}
